using System;
using System.Collections.Generic;
using Tool.Model;

namespace Tool.Utilty
{
	public class GClass28
	{
		private static string path = null;

		private static readonly object lockPath = new object();

		private static GClass27 config = null;

		private static List<GClass29> downFailFile = null;

		private static List<GClass30> log = null;

		private static List<GClass31> noExistsFile = null;

		private static List<GClass32> urlList = null;

		private static GClass33 cache = null;

		private static readonly object lockConfig = new object();

		private static readonly object lockDownFailFile = new object();

		private static readonly object lockLog = new object();

		private static readonly object lockNoExistsFile = new object();

		private static readonly object lockUrlList = new object();

		private static readonly object lockMemoryCache = new object();

		private GClass28()
		{
		}

		public static string smethod_0()
		{
			if (GClass28.path == null)
			{
				lock (GClass28.lockPath)
				{
					if (GClass28.path == null)
					{
						GClass28.path = AppDomain.CurrentDomain.BaseDirectory;
					}
				}
			}
			return GClass28.path;
		}

		public static GClass27 smethod_1()
		{
			if (GClass28.config == null)
			{
				lock (GClass28.lockConfig)
				{
					if (GClass28.config == null)
					{
						GClass28.config = GClass34.smethod_0();
					}
				}
			}
			return GClass28.config;
		}

		public static List<GClass29> smethod_2()
		{
			if (GClass28.downFailFile == null)
			{
				lock (GClass28.lockDownFailFile)
				{
					if (GClass28.downFailFile == null)
					{
						GClass28.downFailFile = new List<GClass29>();
					}
				}
			}
			return GClass28.downFailFile;
		}

		public static List<GClass30> smethod_3()
		{
			if (GClass28.log == null)
			{
				lock (GClass28.lockLog)
				{
					if (GClass28.log == null)
					{
						GClass28.log = new List<GClass30>();
					}
				}
			}
			return GClass28.log;
		}

		public static List<GClass31> smethod_4()
		{
			if (GClass28.noExistsFile == null)
			{
				lock (GClass28.lockNoExistsFile)
				{
					if (GClass28.noExistsFile == null)
					{
						GClass28.noExistsFile = new List<GClass31>();
					}
				}
			}
			return GClass28.noExistsFile;
		}

		public static List<GClass32> smethod_5()
		{
			if (GClass28.urlList == null)
			{
				lock (GClass28.lockUrlList)
				{
					if (GClass28.urlList == null)
					{
						GClass28.urlList = GClass34.smethod_1();
					}
				}
			}
			return GClass28.urlList;
		}

		public static GClass33 smethod_6()
		{
			if (GClass28.cache == null)
			{
				lock (GClass28.lockMemoryCache)
				{
					if (GClass28.cache == null)
					{
						GClass28.cache = new GClass33();
					}
				}
			}
			return GClass28.cache;
		}
	}
}
